\subsection{Los requerimientos que debe cumplir el software a construir:}

A continuación vamos a enumerar los requerimientos que nuestro sistema debe cumplir basando en el análisis de los diagramas de objetivos propuestos por la cátedra.\\
Esta mera enumeración facilitará, tanto a nosotros como a quién lea este infomre, la distinción de que requirimientos son cumplidos por tal diagrama.\\ 

\begin{enumerate}
    \item Requerimientos para el cumplimiento del objetivo: \\
	\textbf{[OBJ-1]} - \textsf{Lograr[Aviso al cliente de en qué otro local pueden encontrar una variedad de pizza, garantizando stock allí]}\\
    \begin{itemize}
	  \item \textbf{$[$REQ-1$]$}: Cada local puede averiguar sobre el stock de los otros locales: El software debe permitir la consulta de stock de todas las sucursales\\ 
	  \item \textbf{$[$REQ-2$]$}: Cada local responde a las preguntas sobre stock que realizan los otros locales\\ 
	  \item \textbf{$[$REQ-3$]$}: Cada local sólo puede reservar stock de otros locales si es su turno\\ 
	  \item \textbf{$[$REQ-4$]$}: Aviso de en qué local se encuentra garantizado el pedido: Una vez confirmado por parte del otro local el hecho de que el pedido se realizará allí, 
	  el sistema muestra la sucursal en una pantalla con el objetivo de que el cliente se pueda informar\\ 
    \end{itemize}

  \item  Requerimientos que el sistema debe cumplir para el objetivo: \\
  \textbf{[OBJ-2]} - \textsf{Lograr[de mantener un menu estandarizado y actualizable]}\\
  \begin{itemize}
    \item \textbf{$[$REQ-5$]$}: Instauración del menú, vacío en cada local, al iniciar la cadena: Esto quiere decir, que cuando se inaugure la cadena, el menú no tiene platos asignados. Todos se agregan sobre la marcha\\
    \item \textbf{$[$REQ-6$]$}: Instaurar actualizaciones al menú de un local\\
    \item \textbf{$[$REQ-7$]$}: Cada local envía avisos de actualización a cada uno de los otros locales ante un cambio en su menú\\
    \item \textbf{$[$REQ-8$]$}: Ante un aviso de actualización proveniente de otro local se actualiza el menú\\
    \item \textbf{$[$REQ-9$]$}: Reloj de los locales está sincronizado\\
    \item \textbf{$[$REQ-10$]$}: Conocimiento del numero de locales\\
    \item \textbf{$[$REQ-11$]$}: Cada local sólo puede actualizar el menu cuando es su turno\\
  \end{itemize}

  \clearpage

  \item Requerimientos del sistema para lograr objetivo: \\
  \textbf{[OBJ-3]} - \textsf{Mantener[el nivel de stock adecuado de cada local]}\\
  \begin{itemize}
    \item \textbf{$[$REQ-12$]$}: Carga al software el stock inicial en cada sucursal\\
    \item \textbf{$[$REQ-13$]$}: Reposición $\Rightarrow$ stock incrementado en el software\\
    \item \textbf{$[$REQ-14$]$}: Orden de cliente finalizada $\Rightarrow$ cocinero informa\\
    \item \textbf{$[$REQ-15$]$}: Informe de pedido finalizado $\Rightarrow$ stock decrementado en el software\\
    \item \textbf{$[$REQ-16$]$}: Monitoreo ante la llegada de un ingrediente a su nivel bajo relativo\\
    \item \textbf{$[$REQ-17$]$}: Stock decrementado $\Rightarrow$ registro hist'orico de consumo del local actualizado\\
    \item \textbf{$[$REQ-18$]$}: Nivel bajo relativo calculado en base al registro hist'orico\\
  \end{itemize}

  \item Requerimientos del software a construir para lograr el objetivo: \\
  \textbf{[OBJ-4]} - \textsf{Lograr[brindar servicio de menu actual a los clientes]}
  \begin{itemize}
    \item \textbf{$[$REQ-19$]$}: Orden de cliente confirmada $\Rightarrow$ stock es reservado\\
    \item \textbf{$[$REQ-20$]$}: Orden de cliente cancelada  $\Rightarrow$ stock es liberado\\
    \item \textbf{$[$REQ-21$]$}: Evitar Stock reservado dos veces\\
    \item \textbf{$[$REQ-22$]$}: Realización de orden\\
    \item \textbf{$[$REQ-23$]$}: Cocinero es notificado de nueva orden\\
    \item \textbf{$[$REQ-24$]$}: Mozo es notificado de orden finalizada\\
  \end{itemize}

\end{enumerate}

%-------VER SI APORTA PONERLO ACA-----%
% \begin{enumerate}
% 
% \item \textbf{[Requerimientos para el objetivo de Avisarle al cliente que su pedido estará en otra sucursal]}: \\
%    \begin{itemize}
%       \item Cada local puede averiguar sobre el stock de los otros locales: El software debe permitir la consulta de stock de todas las sucursales\\ 
%       Esto se cumple en el diagrama de casos de uso. En los casos de uso de Enviando/Recibiendo consulta de stock
%       \item Cada local responde a las preguntas sobre stock que realizan los otros locales\\ idem arriba
%       \item Cada local sólo puede reservar stock de otros locales si es su turno\\ 
%       Esto la verdad no veo que se cumpla en ningun diagrama. No se, es para revisar.
%       \item Aviso de en qué local se encuentra garantizado el pedido: Una vez confirmado por parte del otro local el hecho de que el pedido se realizará allí, el sistema muestra la sucursal en una pantalla con el objetivo de que el cliente se pueda informar\\ 
%       Diagrama de actividad. En el diagrama de actividades, en la actividad Sugiere alternativas (creo que deberiamos refinar un poco eso para que quede mas claro no?, o para ustedes alcanza?)
%     \end{itemize}

%     \item \textbf{[Requerimientos que el sistema debe cumplir para el objetivo de mantener un menu estandarizado y actualizable]:}\\
%     \begin{itemize}
%       \item Instauración del menú, vacío en cada local, al iniciar la cadena: Esto quiere decir, que cuando se inaugure la cadena, el menú no tiene platos asignados. Todos se agregan sobre la marcha\\
%       Se cumple en el caso de uso inicializando menu, ojo con la descripcion!! Eso es lo que debe garantizar este requerimiento
%       \item Instaurar actualizaciones al menú de un local\\
%       Se debe ver en caso de uso Ingresando nueva variedad y Enviando actualizacion de Menu
%       \item Cada local envía avisos de actualización a cada uno de los otros locales ante un cambio en su menú\\ 
%       idem arriba.. En los casos de uso Enviando/reccibiendo actualizacion de menu
%       \item Ante un aviso de actualización proveniente de otro local se actualiza el menú\\ 
%       idem arriba
%       \item Reloj de los locales está sincronizado\\ 
%       Caso de uso Sincrinizando reloj de Local
%       \item Conocimiento del numero de locales\\ 
%       duda
%       \item Cada local solo puede actualizar el menu cuando es su turno\\ 
%       esto debería poder hacerse con un FSM
%     \end{itemize}
% 
%     \item \textbf{Requerimientos del sistema para mantener el nivel de stock adecuado de cada local}:\\
%     \begin{itemize}
%       \item Carga al software el stock inicial en cada sucursal\\ Caso de uso ``cargando stock inicial"
%       \item Reposición $\rightarrow$ stock incrementado en el software\\ 
%       \item Orden de cliente finalizada $\rightarrow$ cocinero informa\\
%       \item Informe de pedido finalizado $\rightarrow$ stock decrementado en el software\\ 
%       Diagrama de actividad. Se ve en la parte de Decrementa stock con respecto a pedido finalizado
%       \item Monitoreo ante la llegada de un ingrediente a su nivel bajo relativo\\ 
%       Se va a ver en mis diagramas de actividad
%       \item Stock decrementado $\rightarrow$ registro histórico de consumo del local actualizado\\ 
%       idem arriba
%       \item Nivel bajo relativo calculado en base al registro histórico\\
%       idem arribita
%     \end{itemize}
%     
%     \item \textbf{Requerimientos del software para brindar servicio de menu actual a los clientes}:
%     \begin{itemize}
%       \item Orden de cliente confirmada $\rightarrow$ stock es reservado\\ 
%       Diagrama de actividad. En la parte Reserva stock de ingredientes necesarios
%       \item Orden de cliente cancelada $\rightarrow$ stock es liberado\\ 
%       Esto debería aparecer en alguna parte.. No se si en el diagrama de actividad que ya tenemos, quiza, usando algun que otro no-determinismo para modelar que el cliente se arrepiente de la compra
%       \item Stock reservado dos veces\\ 
%       Esto no se si no queda implicito con el circuito actual del diagrama de actividad.. Pero pregunten este si pueden
%       \item Realización de orden\\ 
%       Todo el diagrama contempla esto
%       \item Cocinero es notificado de nueva orden\\ 
%       Diagrama de actividad en la parte de Agrega pedido a la parte de pedidos pendientes
%       \item Mozo es notificado de orden finalizada\\ 
%       DIagrama en la parte de Informa de pedido finalizado
%     \end{itemize}
% \end{enumerate}
